﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using JXT.PrimaryKey.Batman.Domain.Repositories;
using JXT.PrimaryKey.Batman.Domain.Specifications;
using JXT.PrimaryKey.Batman.Domain.VirtualExchange.Models;
using JXT.PrimaryKey.Batman.Domain.Quotation.Models;

namespace JXT.PrimaryKey.Batman.Domain.VirtualExchange.Repositories
{
    public interface ISecuritiesDetailRepository : IRepository<SecuritiesDetail>,
        IWriteRepository<SecuritiesDetail, int>,
        ISpecificationRepository<SecuritiesDetail>
    {
        /// <summary>
        /// 查询选手前pageSize的重仓(股票/涡轮)，如果不进行分页查询将查找到全部
        /// </summary>
        /// <param name="securitiesType">股票类型</param>
        /// <param name="marketType">市场类型</param>
        /// <returns>securitiesdetail对象集合</returns>
        IEnumerable<SecuritiesDetail> GetListByHoldingCount(IPagedSpecification<SecuritiesDetail> pagedSpecification);

        /// <summary>
        /// 持有账户数前pageSize的(股票/涡轮)
        /// </summary>
        /// <param name="securitiesType">股票类型</param>
        /// <param name="marketType">市场类型</param>
        /// <returns>securitiesdetail对象集合</returns>
        IEnumerable<SecuritiesDetail> GetListByHoldingAccountCount(IPagedSpecification<SecuritiesDetail> pagedSpecification);

        //void Test(SecuritiesDetail item);
      
     
        /// <summary>
        /// 获取最新一期数据的时间
        /// </summary>
        /// <returns>时间</returns>
        DateTime? GetLastDateTime();
    }
}
